package com.ddz.model;

/**
 * 简易计数器
 *
 * startValue 起始值
 * endValue 结束值（达到此值后重新开始计数）
 * currentValue 当前计数值
 */
public class SimpleCounter {
    private int startValue;  // 起始值
    private int endValue;    // 结束值（达到此值后重新开始计数）
    private int currentValue; // 当前计数值

    public SimpleCounter(int startValue, int endValue) {
        this.startValue = startValue;
        this.endValue = endValue;
        this.currentValue = startValue;
    }

    public SimpleCounter(int startValue, int endValue, int currentValue) {
        this.startValue = startValue;
        this.endValue = endValue;
        this.currentValue = currentValue;
    }

    public void setCurrentValue(int currentValue) {
        this.currentValue = currentValue;
    }

    public int getCurrentValue() {
        if (currentValue > endValue) {
            currentValue = startValue;
        }
        return currentValue;
    }

    public int increment() {
        if (currentValue > endValue) {
            currentValue = startValue;
        }
        return currentValue++;
    }
}